#include <iostream>
#include <string>
#ifndef Lab12_calcul_functie_nod_h
#define Lab12_calcul_functie_nod_h

class Nod
{/*nodul din arborele expresiei functiei*/
public:
    Nod *fStang, *fDrept;/*fii stang si drept*/
    long double x;/*valoarea punctului in care se face calculul
                          expresiei*/
public:
    Nod();
    ~Nod();
    /*metodele virtuale*/
    virtual long double calcul() = 0;
    virtual std::string derivare() = 0;
    virtual long double calculDerivata() = 0;
    virtual std::string convertString() = 0;
    
    Nod *getFStang();
    void setFStang(Nod *x);
    Nod *getFDrept();
    void setFDrept(Nod *x);
    static void setX(long double X);
    static long double getX();
};
#endif
